package com.mdd.admin.service.staff;

import com.baomidou.mybatisplus.extension.service.IService;
import com.mdd.admin.validate.staff.StaffParam;
import com.mdd.admin.validate.staff.StaffStatusParam;
import com.mdd.admin.vo.staff.StaffDetailVo;
import com.mdd.admin.vo.staff.StaffListVo;
import com.mdd.admin.vo.staff.StaffPageParam;
import com.mdd.common.core.PageResult;
import com.mdd.common.entity.staff.Staff;

import java.util.List;

/**
 * 师傅服务接口类
 */
public interface IStaffService extends IService<Staff>{

    /**
     * 师傅列表
     *
     * @param params 搜索参数
     * @return PageResult<StaffVo>
     */
    PageResult<StaffListVo> list(StaffPageParam params);

    /**
     * 师傅详情
     *
     * @param id 主键ID
     * @return Staff
     */
    StaffDetailVo detail(Long id);

    /**
     * 师傅新增
     *
     * @param staffParam 参数
     */
    void add(StaffParam staffParam);

    /**
     * 师傅编辑
     *
     * @param staffParam 参数
     */
    void edit(StaffParam staffParam);

    /**
     * 师傅删除
     *
     * @param id 主键ID
     */
    void del(Long id);

    void status(StaffStatusParam statusParam);

    List<Staff> getByCityId(Long cityId);

    PageResult<StaffListVo> water(StaffPageParam params);
}
